/**
 * 常用正则表达式
 * @type {RegExp}
 */
const regex =
    {
      // 账号,4到16位（字母，数字，下划线）
      account: {
        reg: new RegExp('^[a-zA-Z0-9_]{4,16}$'),
        message: '4到16位（字母，数字，下划线）'
      },
      // 密码
      password: {
        reg: new RegExp('^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{6,20}$'),
        message: '密码包含数字,英文,字符中的两种以上，长度6-20'
      },
      // 邮箱
      email: {
        reg: new RegExp('(?:[a-z0-9!#$%&\'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)])'),
        message: '无效的邮箱地址'
      },
      // 手机号码
      mobile: {
        reg: new RegExp('^(?:0|86|\\+86)?1[3-9]\\d{9}$'),
        message: '无效的手机号码'
      },
      // URL
      url: {
        reg: new RegExp('^((https?|ftp|file)://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$'),
        message: '无效的url地址'
      },
      // IPv4
      IPv4: {
        reg: new RegExp('^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'),
        message: '无效的IP地址'
      },
      // 十六进制颜色正则
      RGBHex: {
        reg: new RegExp('^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'),
        message: '无效的颜色'
      },
      // 数字、26个英文字母或者下划线成的字符串
      char: {
        reg: new RegExp('^[a-zA-Z0-9_-]+$'),
        message: '字母，数字，下划线，中横线'
      }
    }
export default {
  ...regex
}
